<?php
if ( ! defined('BASEPATH')) exit('el acceso directo a esta página no esta permitido.');
class dispositivos_model extends ci_model {
    
    public function __construct() {
        parent::__construct();
        $this->load->database();
    }
    
    public function validaserie($serie){
        $sql = "select iddispositivo from dispositivos where serie = '".$serie."'";
        $result = $this->db->query($sql);
        return $result->num_rows();
    }
    
    public function get_dispositivos($idempresa){
        $session_data = $this->session->userdata('logged_in');
        $strquery = "select iddispositivo,serie,empresas.nombre,asignadoa,numtelefono,fechaalta,costo,minutos,dispositivos.activo "
                . "from dispositivos inner join empresas on dispositivos.empresa = empresas.idempresa "
                . "where dispositivos.activo = 1 ";
        if ($session_data['tipousuario'] != "root" && $idempresa != 0){
            $strquery .= " and dispositivos.empresa =".$idempresa;
        }
        $query=$this->db->query($strquery);
        $data['datos']=$query->result_array();
        return $data;
    }
    
    function new_disp($disp){
        $rows = $this->db->insert('dispositivos',$disp);
        return  $rows;
    }
    
    function update_disp($disp){
        $this->db->where('iddispositivo',$disp['iddispositivo']);
        $this->db->set($disp);
        $this->db->update('dispositivos');
        $resp = array("rows" => $this->db->affected_rows());
        return json_encode($resp);
    }
    
    function eliminar($ids){
        $this->db->where_in('iddispositivo',$ids);
        $data = array('activo' => 0 );
        $this->db->update('dispositivos',$data);
        $resp = array("rows" => $this->db->affected_rows());
        return json_encode($resp);
    }
    
    function get_dispositivo($id){
        $strquery = "SELECT iddispositivo,marca,sisoperativo,macwifi,serie,asignadoa,numtelefono,fechaalta,costo,minutos,activo FROM"
                . " dispositivos WHERE  iddispositivo =" .$id;
        $query = $this->db->query($strquery);
        $resp = $query->result_array();
        return $resp[0];
    }
    
    function get_geodata($id){
        $sql = 'select dispositivos.asignadoa,
                iddato,fecha,fechasend,latitude,longitude,codigos.codigo 
                from datosge inner join dispositivos
                on datosge.iddispositivo=dispositivos.iddispositivo             
                inner join codigos
                on datosge.codigo=codigos.idcodigo
                where iddato = (select max(iddato) from datosge where iddispositivo = ? )';
        $query = $this->db->query($sql,array($id));
        $resp = $query->row_array();
        echo json_encode($resp);
    }
    
    function get_ultimaposicion($ids){
        $str_having = "";
        foreach ($ids as $id) {
            $str_having .= "iddispositivo = " . $id . " or ";
        }
        $str_having = substr($str_having, 0, strlen($str_having)-4);
        $sql = "select dispositivos.asignadoa,iddato,fecha,fechasend,latitude,longitude,codigos.codigo 
                    from datosge 
                      inner join dispositivos on datosge.iddispositivo=dispositivos.iddispositivo             
                inner join codigos on datosge.codigo=codigos.idcodigo
                where iddato in (select max(iddato) from datosge GROUP BY iddispositivo HAVING " . $str_having .")";
        $query = $this->db->query($sql);
        return $query->result();
    }
    
     function getresponsable($idempresa){
        $sql= "select iddispositivo, asignadoa from dispositivos where empresa =".$idempresa." and activo = 1";
        $result = $this->db->query($sql);
        return $result->result();
     }
     
     
     function get_geodataruta($id,$fechai,$fechaf){
        $sql = "select dispositivos.asignadoa,
                  iddato,fecha,fechasend,latitude,longitude,codigos.codigo 
                from datosge inner join dispositivos
                on datosge.iddispositivo=dispositivos.iddispositivo             
                inner join codigos
                on datosge.codigo=codigos.idcodigo
                where  datosge.iddispositivo = ? and fechasend >= " . $fechai . "  and fechasend <= " . $fechaf;
        $query = $this->db->query($sql,array($id));
        $resp = $query->row_array();
        echo json_encode($resp);
    }
    
}

/* end of file dispositivos.php */
/* location: ./application/controllers/dispositivos.php */